%load_ext autoreload
%autoreload 2
import os
MOMAPS_HOME = '/home/labs/hornsteinlab/Collaboration/MOmaps'
LOGS_PATH = os.path.join(MOMAPS_HOME, 'src', 'preprocessing', 'logs')
os.chdir(MOMAPS_HOME)
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid", font_scale=1.5)
sns.color_palette("husl", 8)
plt.rcParams["image.cmap"] = "Set1"
from tqdm.notebook import tqdm
from src.common.lib.preprocessing_utils import rescale_intensity
from src.common.lib.images_qc import *
sys.path.insert(1, "/home/labs/hornsteinlab/Collaboration/MOmaps_Sagy/MOmaps/src/common/lib")
import contextlib
import io
from calc_dataset_variance import calc_variance_neurons_batch
import matplotlib
import warnings
warnings.filterwarnings('ignore', category=pd.core.common.SettingWithCopyWarning)
df = log_files_qc(LOGS_PATH)
# choose batches
batches = [f'batch{i}' for i in range (3,10)] + ['batch7_16bit','batch8_16bit','batch9_16bit']
root_directory_raw = os.path.join(MOMAPS_HOME, 'input', 'images', 'raw', 'SpinningDisk')
batches_raw = [batch.replace("_16bit","") for batch in batches]
raws = run_validate_folder_structure(root_directory_raw, proc=False, batches=batches_raw, per=False)
root_directory_proc = os.path.join(MOMAPS_HOME, 'input', 'images', 'processed', 'spd2',
'SpinningDisk')
procs = run_validate_folder_structure(root_directory_proc, proc=True, batches=batches)
display_diff(batches, raws, procs)
for batch in list(range(3,9)) + ['7_16bit','8_16bit','9_16bit']: #problem with batch9: files that are 1 bytes!!!
with contextlib.redirect_stdout(io.StringIO()):
var = calc_variance_neurons_batch(batch_num=batch)
print(f'batch{batch} var: ',var)
plot_sites_count(df, split_to_reps=True)
df_no_empty_sites = df[df.n_valid_tiles !=0]
plot_cell_count(df_no_empty_sites, whole_cells=True, per=False)
plot_cell_count(df_no_empty_sites, whole_cells=False, per=False)
# can add norm=True to norm by max
plot_n_valid_tiles_count(df, per=False)
plot_hm(df, per=False)
# # save notebook as HTML ( the HTML will be saved in the same folder the original script is)
# from IPython.display import display, Javascript
# display(Javascript('IPython.notebook.save_checkpoint();'))
# os.system('jupyter nbconvert --to html src/preprocessing/notebooks/cell_count_stats_analysis_Noam.ipynb')
for batch in batches:
if batch=='batch9' or batch=='batch3' or '16_bit' in batch:
continue
print(batch)
batch_num = batch.replace('batch',"")
run_calc_hist_new(batch_num=batch_num,sample_size_per_markers=10)
print("="*30)
print(os.system('pwd'))
print("Done!")